package org.cuit.seon.core.data;

import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.HashMap;
import java.util.Map;

@NoArgsConstructor
@SuppressWarnings("all")
public class RequestParams {

    /**
     * json对象存储
     */
    @Setter
    @Getter
    private String json;

    /**
     * Get请求额外查询参数
     */
    @Getter
    private final Map<String, String> query = new HashMap<>();

    /**
     * 获取实体内的参数
     * @param classType 参数类型
     */
    @SuppressWarnings("unchecked")
    public <T> T getParameter(String key, Class<T> classType) {
        return (T) query.get(key);
    }

    /**
     * 设置参数
     */
    public RequestParams setParameter(String key, String value) {
        query.put(key, value);
        return this;
    }
}
